<?php
header("content-type:text/html;charset=utf-8");
// echo decbin(12); //十进制转二进制函数
// echo "<br>";
// echo dechex(10); //十进制转十六进制函数
// echo "<br>";

// $binary = "11111001"; //二进制进制转十六进制函数
// $hex = dechex(bindec($binary)); 
// echo $hex;//输出f9 
// echo "<br>";
// echo bindec('110011'); //二进制转换为十进制







   //分苹果


  // $res = apple();
  // echo $res;
  //  function apple()
  //  {
  //   for($i=0;;$i++)
  //   {
  //   	if($i%3==1)
  //   	{
  //   		$p1=$i-round($i/3)-1;
  //   		if($p1%3==1)
  //   		{
  //   			$p2=$p1-round($p1/3)-1;
  //   			if($p2%3==1)
  //   			{
  //   				$p3=$p2-round($p2/3)-1;
  //   				if($p3%3==1)
  //   				{
  //   					echo $i;break;
  //   				}
  //   			}
  //   		}	
  //   	}
  //   }




  //  }














  //二进制转换为10进制，10进制转换为2进制
// $res = scale(2000,2,10);
// echo $res;
// function scale($num, $start, $change){
// 		// $num转换的数    $start 本身是进制   $change  转换为几进制

// 		$str = "";
// 		$sum = 0;

// 		if($start == 10)
// 		{
// 			while ($num)
// 			{
// 				$str .= $num%2;
// 				$num = intval($num/2);
// 			}

// 			$str = strrev($str);

// 			return $str;
// 		}
// 		else
// 		{
// 			$str = strrev($num);

// 			for ($i=0; $i < strlen($str); $i++)
// 			{
// 				$sum += ($str[$i] * pow(2, $i));
// 			}

// 			return $sum;
// 		}
// 	}








 //求每一位数字的下标
 // $n = 12345678;
 // $res = digitNums($n);
 // echo $res;

 // function digitNums($number){
 // 	$arr = array();
 // 	$i = 0;
 // 	while ($number) {
 // 	  $arr[$i] = $number%10;
 // 	  $number  = intval($number/10);
 // 	  $i++;
 // 	}
 // 	var_dump($arr);
 // 	return $i;
 // }











//斐波那契数列：1 1 2 3 5 8 ...
//满足要求：当前项 = 前第一项 + 前第二项
//现在要求输入一个整数n，请你输出斐波那契数列的第n项（从0开始，第0项为0）。
// $n=10;
// $res=fbnq1($n);
// echo "斐波那契数列的第".$n."项为".$res;
// //循环的方法;
// function fbnq($n)
// {
//     $arr=array();
//     $arr[1]=1;
//     $arr[2]=1;
//     for ($i=3;$i<=$n;$i++)
//     {
//         $arr[$i]=$arr[$i-1]+$arr[$i-2];
//     }
//     echo "斐波那契数列的第".$n."项为".$arr[$n];
// }
// //递归方法
// function fbnq1($n)
// {
//     if($n<=0)
//     {
//         return 0;
//     }
//     if ($n==1 || $n==2)
//     {
//         return 1;
//     }
//     return fbnq1($n-1)+fbnq1($n-2);
// }







// $res = mains(1,2,3);
// echo $res;

// //数字组合次数
//  function mains($arr)
//  {
//    $number = 0;
//    for($b = 1;$b <=4;$b++)
//    {
//    	for($s = 1; $s<4; $s++)
//    	{
//    	  for($g=1;$g<=4;$g++)
//    	  {
//    	  	if($b !=$s && $b !=$g && $g!=$s)
//    	  	{
//    	  		echo $b,$g,$s."<br>";
//    	  		$number++;
//    	  	}	
//    	  }
//    	}	
//    }



//  }









//一只青蛙一次可以跳上1级台阶，也可以跳上2级。
//求该青蛙跳上一个n级的台阶总共有多少种跳法。
// $res=calSteps(5);
// function calSteps($n)
// {
//     $arr=array();
//     $arr[1]=1;
//     $arr[2]=2;
//     for ($i=3;$i<=$n;$i++)
//     {
//         $arr[$i]=$arr[$i-1]+$arr[$i-2];
//     }
//     echo $n."个台阶共有".$arr[$n]."种跳法";
//     echo "<br>";
// }











//周院长做游戏  = 约瑟夫循环
// $res=LastRemaining_Solution(49,19);
// function LastRemaining_Solution($n,$m)
// {
//     $people=range(1,$n);
//     $numpeople=$n;
//     $count=0;
//     $i=23;
//     while ($numpeople>1)
//     {
//         if ($people[$i])
//         {
//             $count++;
//         }

//         if ($count==$m)
//         {
//             $people[$i]=0;
//             $count=0;
//             $numpeople--;
//         }
//         $i++;
//         if ($i==$n)
//         {
//             $i=0;
//         }
//     }
//     echo array_sum($people);
// }



//1．超市搞活动，啤酒3元一瓶，2个空瓶子换一瓶啤酒，5个瓶盖换一瓶啤酒。
//请问小明有30元，最多可以买多少瓶啤酒喝?
//（1）函数原型为function beer($m) $m表示有多少钱,返回小明可以买多少瓶。
// header("content-type:text/html;charset=utf-8");
// function refresh($money){
  
//     $p = 0; //喝掉的瓶数
//     $void = 0; //空瓶
//     $g = 0; //瓶盖
//     for($i = $money/3;$i>0;$i--) //有啤酒就循环
//     {
//      //喝一瓶，多一个空瓶子
//         $void++;
//         //多一个瓶盖
//         $g++;
//         while ($void >=2)//如果空瓶>=2
//         {
//             $void -=2;
//             $i++; //瓶数+1
//         }
//         while ($g >=5) //如果瓶盖>=5
//        { 
//             $g -=5;
//             $i++; //瓶数+1
//         }

//         //记录喝掉的瓶数
//         $p++;
//     }

//   return $p;



// }
// echo refresh(30);
//  echo "<br>";


// 马云存钱罐里面有3种规格的硬币，一元、两元、五元。马云现在想把这些零钱整理成十元，请问一共有多少种分配方式?

// function combinatorial(){

//  $num = 0;
//  //一元
//  for($i=0;$i<=10;$i++){
//   //两元
//   for($j = 0;$j<=5;$j++){
//     //5元
//     for($k = 0;$k<=2;$k++){
//         if(($i*1 + $j*2 + $k*5) == 10){
//             $num++;
//         }
//     }
//   }

//  }

//    return $num;



// }
// echo combinatorial();







//九宫格
// $r3=wg(3,3);
// function wg($n,$m)
// {
//     $arr=array();
//     for ($i=1;$i<=3;$i++)
//     {
//         $arr[$i][0]=1;
//         for ($j=1;$j<=3;$j++)
//         {
//             $arr[0][$j]=1;
//             $arr[$i][$j]=$arr[$i-1][$j]+$arr[$i][$j-1];
//         }
//     }
//    var_dump($arr[$n][$m]);die;
// }

